248 research outputs found

    A survey of program slicing techniques

    Get PDF

    A slicing-based approach for locating type errors

    Get PDF
    The effectiveness of a type checking tool strongly depends on the accuracy of the positional information that is associated with type errors. We present an approach where the location associated with an error message e is defined as a slice P_e of the program P being type checked. We show that this approach yields highly accurate positional information: P_e is a program that contains precisely those program constructs in P that caused error e. Semantically, we have the interesting property that type checking P_e is guaranteed to produce the same error e. Our approach is completely language-independent, and has been implemented for a significant subset of Pascal

    A slicing-based approach for locating type errors

    Get PDF
    The effectiveness of a type checking tool strongly depends on the accuracy of the positional information that is associated with type errors. We present an approach where the location associated with an error message e is defined as a slice P_e of the program P being type checked. We show that this approach yields highly accurate positional information: P_e is a program that contains precisely those program constructs in P that caused error e. Semantically, we have the interesting property that type checking P_e is guaranteed to produce the same error e. Our approach is completely language-independent, and has been implemented for a significant subset of Pascal

    Spectral Theory of Time Dispersive and Dissipative Systems

    Full text link
    We study linear time dispersive and dissipative systems. Very often such systems are not conservative and the standard spectral theory can not be applied. We develop a mathematically consistent framework allowing (i) to constructively determine if a given time dispersive system can be extended to a conservative one; (ii) to construct that very conservative system -- which we show is essentially unique. We illustrate the method by applying it to the spectral analysis of time dispersive dielectrics and the damped oscillator with retarded friction. In particular, we obtain a conservative extension of the Maxwell equations which is equivalent to the original Maxwell equations for a dispersive and lossy dielectric medium.Comment: LaTeX, 57 Pages, incorporated revisions corresponding with published versio

    Ahead of Time Deployment in ROM of a Java-OS

    Full text link

    Animators and error reporters for generated programming environments

    Get PDF
    We study animators and error reporters for generated programming environments. An error reporter is a tool for indicating the exact position of a type-error in the source text. An animator visualizes program execution; typically, it highlights the statement that is currently executing. Applications of both tools are mainly to be found in the areas of debugging and tutoring. Instead of explicitly extending language specifications with these facilities, we claim that error reporters and animators can be generated from existing specifications for type-checkers and interpreters with little effort; to this end, a simple pattern-matching mechanism is used in conjunction with origin tracking, a generic tracing technique. In this paper, we discuss our claim, and at the same time investigate the limitations and deficiencies of origin tracking. Our techniques are illustrated using an example language named CLaX, a Pascal relative. The full specifications of the CLaX syntax, type-checker and interpreter are included in appendices

    Application-Driven Customization of an Embedded Java Virtual Machine

    Get PDF
    Java for embedded devices is today synonym of "embeddable pseudo-Java". In order to limit their memory footprint, the embedded flavors of Java introduce incompatibilities against the standard edition, and break Java's portability rule. The application developer has to comply to specific Java APIs and incomplete runtime features. In this paper, we introduce a way to embed applications written for Java 2 Standard Edition. The applications are pre-deployed into a virtual Java execution environment, which is analyzed so that the Java virtual machine can be tailored according to the runtime needs of the system. Thus, the programmer is not enforced to comply to a particular Java environment; but conversely, the Java environment is customized according to its applications and targeted device. Experiments reveal that the customized virtual machines are comparable in size to existing static embedded Java solutions, while being more flexible and preserving Java compatibility

    Accessibility, interdisciplinarity and practice:The benefits and challenges of hosting an online, interdisciplinary conference on singing

    Get PDF
    In May 2020, the Spheres of Singing conference, which was initially intended as an in-person event, was instead hosted online. A key ambition was to make the conference accessible for both practitioners and researchers from various disciplines. The conference exceeded in its aim in several ways. It was free and featured contributions from around the world, including 45 presentations, four workshops, six open discussions and three lecture-recitals. The interdisciplinary array of sessions included: health and wellbeing, practice research, musicology, teaching, conducting, pedagogy, and virtual choirs. In terms of attendee interest, all 450 live attendance tickets sold out in 24 hours, with additional tickets made available to allow asynchronous attendance. Such enthusiasm demonstrates an interdisciplinary event on singing was both timely and necessary. The organisers developed a survey to gather feedback, measure impact, and help determine future directions. A significant finding is that practitioners were motivated to attend, specifically because it was an online event. However, there were challenges caused by moving the conference online, particularly when it came to relying on technology and integrating live singing activities. By analysing the feedback gathered from delegates, the article will consider three areas: creating an inviting event for practitioners and researchers, technological challenges when hosting an online conference on singing, and integrating live, synchronous singing activities into an online conference

    Control dependence for extended finite state machines

    Get PDF
    Though there has been nearly three decades of work on program slicing, there has been comparatively little work on slicing for state machines. One of the primary challenges that currently presents a barrier to wider application of state machine slicing is the problem of determining control dependence. We survey existing related definitions, introducing a new definition that subsumes one and extends another. We illustrate that by using this new definition our slices respect Weiser slicing’s termination behaviour. We prove results that clarify the relationships between our definition and older ones, following this up with examples to motivate the need for these differences

    Sawja: Static Analysis Workshop for Java

    Get PDF
    Static analysis is a powerful technique for automatic verification of programs but raises major engineering challenges when developing a full-fledged analyzer for a realistic language such as Java. This paper describes the Sawja library: a static analysis framework fully compliant with Java 6 which provides OCaml modules for efficiently manipulating Java bytecode programs. We present the main features of the library, including (i) efficient functional data-structures for representing program with implicit sharing and lazy parsing, (ii) an intermediate stack-less representation, and (iii) fast computation and manipulation of complete programs
    • 

    corecore